ISPmanager 6

Здравствуйте.



Для тарифов VDS и выделенных серверов (dedicated server) мы начали продажу трёх версий панели управления ISPmanager 6.

Чем отличаются эти 3 версии Вы можете посмотреть в статье из базы знаний — my.hostiman.ru/knowledge/17/476-otlichiya-versiy-ispmanager-6

Стоимость панелей:

ISPmanager 6 Lite — 300 руб/мес
ISPmanager 6 Pro — 600 руб/мес
ISPmanager 6 Host — 1000 руб/мес

apnscp 3.1 released



apnscp (a/k/a «ApisCP») 3.1 был выпущен!
  • Кодовое название «Бизнес как обычно»
  • 3.1 смещает акцент с широкого внедрения на инновации.
  • Этот выпуск охватывает несколько отложенных элементов, которые были предназначены в 3.1, но требовали значительного наращивания других областей для удовлетворительной реализации.

Модернизация
apnscp будет обновляться как часть обычных ночных обновлений (см. UPGRADING.md). Обновление вручную может быть инициировано через upcp. upcp всегда будет придерживаться вашей политики обновления, поэтому убедитесь, что политика установлена на пограничный, основной или все. cpcmd config: get apnscp.update-policy подтвердит политику, а cpcmd config: set apnscp.update-policy major установит политику обновления по умолчанию, включающую все исправления и незначительные обновления.

PHP-FPM
PHP-FPM реализован в виде службы с активированным сокетом в systemd. Активация через сокет порождает рабочий пул только при активности страницы, что уменьшает проблему стада Thundering в массовых развертываниях. PHP-FPM был полностью протестирован на более чем 500 учетных платформах с минимальным влиянием сервиса на запуск.

Эта реализация использует превосходное отслеживание зависимостей systemd для запуска только после того, как MySQL и PostgreSQL еще больше расширяют возможности запуска обоих серверов баз данных. После активации рабочий PHP-FPM привязывается к соответствующей учетной записи либо как непривилегированный системный пользователь, либо — как пользователь cPanel — пользователь учетной записи; однако эта практика крайне не рекомендуется. Документация описана в PHP-FPM.md.

TimescaleDB
Массивная агрегация данных временных рядов представляет собой серьезную проблему, поскольку платформы с возрастом накапливают больше данных. Данные о пропускной способности связываются каждые 3 минуты (управляется через [bandwidth] => resolution в config.ini). За 12 месяцев с более чем 500 сайтами количество записей увеличилось до 87,6 миллионов записей; много, чтобы подвести итог, глядя на исторические записи. Хуже того, поиск записей становится дорогим с простыми алгоритмами. Например, среднее время выполнения для извлечения записи требует 27 шагов (большой O log2). Мы можем добиться большего, разделив данные на окна. Зная, что пропускная способность циклически меняется каждый месяц, данные можно разделить на более мелкие порции, 30,3-дневных 7,3 млн. Записей на сегмент, что ограничивает количество поисковых запросов на 15%. Эти куски объединены в одну виртуальную таблицу, называемую гипертаблицей, что обеспечивает прозрачный механизм хранения данных временных рядов.



Улучшенная производительность поиска — не лучшая функция, а непрерывные агрегаты («cagg»)! Cagg работает в фоновом режиме, автоматически, чтобы суммировать данные из отдельных точек данных. Возвращаясь к примеру с пропускной способностью, если мы знаем, что обновления пропускной способности каждые 5 минут, TimescaleDB пересчитывает общее количество, сохраняя в кеше, каждые 5 минут в пересмотренные итоги.

Поиски пропускной способности летают сейчас! До Caggs предыдущий запрос на превышение пропускной способности выполнялся более 20 секунд; теперь он завершается за 1/100 времени, 200 мс.

Как часть 3.1, TimescaleDB будет предоставлять отчеты в реальном времени об использовании ресурсов учетной записи через cgroups, позволяя панели быстро аннулировать доступ на сайтах, которые превышают свои 24-часовые квоты (или 30-дневные). Windows гибки, а расширения просты в использовании. Например, чтобы получить пропускную способность, используемую вчера всеми доменами, в 5-минутных разрешениях, заполняя пропуски в данных:
SELECT
	site_id,
	TIME_BUCKET_GAPFILL('5 minutes', ts) AS bucket, 
	SUM(in_bytes+out_bytes) AS sum 
FROM 
	bandwidth_log 
WHERE 
	ts >= NOW() - INTERVAL '1 day' AND ts < NOW() 
GROUP BY site_id, bucket 
ORDER BY site_id, bucket;


Пределы пропускной способности
После реализации временной шкалы принудительное использование полосы пропускания активно в 3.1. Пороги могут быть настроены в config.ini в пределах [пропускной способности], которые управляют порогами уведомлений и приостановки. При желании можно пропускать пропускную способность, используя API-метод bandwidth: amnesty для администратора устройства:
# Bandwidth is now forgiven for the domain, which ends on the bandwidth cycle day
cpcmd bandwidth:amnesty domain.com


ACME v2
apnscp теперь поддерживает протокол Let's Encrypt ACME v2. После обновления до apnscp 3.1, автоматическая миграция обновит все сертификаты v1, который начинается с заката 1 ноября. Теперь поддерживаются подстановочные сертификаты. При условии, что apnscp имеет контроль над DNS для домена (см. DNS.md), эта попытка вызова предпочтительна для расширения теоретически максимального количества защищенных SSL доменов до 50 (подстановочный знак + базовый домен, ограничение 100 имен хостов в SNI). Выпуск Let's Encrypt описан в SSL.md.

импорт cPanel / apnscp
Восстановление из резервных копий cPanel и apnscp теперь поддерживается в apnscp. Восстановление cPanel охватывает все аспекты, кроме резервного копирования PostgreSQL. Поддержка восстановления apnscp находится в предварительном просмотре и будет доработана в 3.1. Резервные копии всегда настоятельно рекомендуется. Раскрываемое решение с Bacula существует как дополнение для apnscp. См. Migrations.md для получения дополнительной информации.

Bootstrapper addin средство
Надстройки — это выпадающие пакеты, которые существенно меняют платформу. Как и в случае с Bootstrapper, любой пакет, который изменяет состояние системы, должен делать это с использованием Ansible, чтобы обеспечить долговечность платформы. Выпуск сценария оболочки с набором ошибочных команд sed (которые даже не удосуживаются установить -euo pipefail!) Начался в 1996 году. Запуск пары команд, которые автоматизируют изменения и изменяют только то, что нужно изменить, плюс дают вам Дайджест этих изменений, это сейчас.

Делегированный белый список
Rampart обеспечивает обобщенную защиту для всех аспектов платформы: MySQL, IMAP, POP3, SMTP, SSH, доступа к панели, HTTP и так далее. Любой доступный сервис защищен от атак грубой силы со стороны Rampart, что приводит к некоторым интересным сценариям с бизнесом SOHO. Делегированный белый список позволяет администраторам учетных записей объявлять до n адресов IPv4 / IPv6, защищенных от перебора.

Когда адрес находится в делегированном белом списке («Учетная запись»> «Белый список»), адрес не застрахован от блоков перебора. Пользователю, который входит в панель с заблокированным IP-адресом, все еще отображается всплывающее окно, объясняющее службу, которая активировала блок.

Подчиненные домены единого входа
Благодаря сокращению разрыва между реселлером и типичными учетными записями хостинга, apnscp теперь поддерживает вход в дочерние домены со стороны родителя. Для первого домена установите параметр оплаты услуг, invoice = IDENTIFIER. Для каждого дочернего домена, связанного с этим доменом, установите выставление счетов, parent_invoice = IDENTIFIER. Дочерние домены не могут входить в родительский домен, если они не были переданы родителем и только в рамках сеанса, из которого произошел переход родителя.


Переход домена является простым процессом в раскрывающемся списке пользовательских карт. Если ни один из известных доменов не находится на том же сервере, что и родительский, домен отображается нормально.



IMAP / POP3 / SMTP SNI
IMAP, POP3 и SMTP теперь поддерживают SNI через неявный SSL. Любой сертификат SSL, установленный для учетной записи, также доступен для использования с электронной почтой. Обратите внимание, что явный (оппортунистический SSL через «STARTTLS») не поддерживает SNI. IMAPS (993), POP3S (995) и SMTPS (465) теперь используют SNI через haproxy в качестве ограничителя SSL. Дальнейшая работа будет посвящена использованию haproxy для прекращения HTTPS-трафика, а также к значительному упрощению стека HTTP, предоставлению облегченного приемника DoS и обеспечению нулевого времени простоя при повторном запуске всех изменений SSL-сертификатов. haproxy может быть включен (или отключен) с помощью cp.bootstrapper Scope.

Поддержка IPv6
Поддержка IPv6 здесь! Все компоненты покрыты (через PR # 1).

NAT + шпилька проверяет сеть
Теперь apnscp определяет, находится ли ваша машина на частном IP-адресе, и настраивается соответствующим образом. Кроме того, закрепление также обнаруживается при выполнении проверок доступности со ссылками до выдачи SSL.

Поддержка PowerDNS
В качестве вклада от Lithium Hosting, apnscp теперь включает поддержку PowerDNS. При миграции с сервера cPanel, который уже использует PowerDNS, apnscp будет работать совместно с кластером DNS для изменения DNS.

Совместимость с WHMCS
Внесены некоторые изменения для улучшения совместимости с отслеживанием учетных записей в WHMCS, включая отдельный модуль WHMCS, предоставляемый Lithium Hosting. Запретить изменение имени пользователя через [auth] => allow_username_change. Пользователи больше не могут менять свое имя пользователя, что позволяет WHMCS работать правильно.

cpcmd yaml / json output
Теперь cpcmd поддерживает различные выходные спецификаторы, включая Yaml и JSON

Регулирование ресурсов ввода-вывода +
Чтобы установить скорость записи 2 МБ / с для всех задач PHP-FPM, используйте blkio, writebw или throttle IOPS используйте эквивалент «iops», blkio, writeiops

Черные списки веб-приложений
Запретить веб-приложения для вашего сайта через [webapps] => черный список.

IP-доступ ограничен
Доступ к панели может быть ограничен IP-адресом или диапазоном IP-адресов с помощью настроек авторизации iprestrict. Значение по умолчанию наследуется от [auth] => ip_restriction_limit в config.ini. Списки доступа могут быть настроены через Аккаунт> Настройки> Безопасность на панели. Установите 0, чтобы отключить этот сервер, кроме администратора устройства. Учетные записи, которые SSO (функция «Войти как») не соблюдают IP-ограничения.

Переименование функций
Области теперь доступны через модуль области видимости. В 3.0 Scopes находился в запутанном модуле «config». Пространство имен области действия apnscp также было сокращено до «cp».

FLARE сервис
FLARE — это маяковый сервис, созданный для рассылки нескольких обновлений в один и тот же день в ответ на угрозы нулевого дня. Все серверы 3.1 участвуют в FLARE. Сигнал FLARE вызывает upcp, который учитывает политику обновления сервера.

Это основные функции для 3.1. Теперь на 3.2 и выше! Спасибо всем за ваш отзыв. Обратная связь — это то, что делает продукт великолепным, поэтому прыгните на наш сервер Discord, если вы еще этого не сделали.

Changelog
hq.apnscp.com/apnscp-3-1-released/

apnscp.com

apnscp 3.0 released



Выпущена версия apnscp v3.0, спонсируемая проектом creep. Это первый публичный релиз после 16 лет разработки. Были реализованы все основные этапы, в том числе экспериментальный предварительный просмотр rspamd, значительно улучшенного механизма фильтрации спама, который будет поддерживать подписывание DKIM / ARC, а также ограничение исходящей почты в будущих выпусках apnscp.

Это объявление о новой миграции было отправлено с этим объявлением, которое автоматически меняет политику обновления apnscp с пограничного уровня на основной, который будет проверять и развертывать обновления до основной версии. 3.0.0 -> 3.0.1 и 3.0.1 -> 3.1.0 будут обрабатываться автоматически. 3.1.0 до 4.0.0 будут заблокированы. Установите apnscp_update_policy в край, чтобы продолжать получать последний ночной код. apnscp.update-policy — это команда быстрого доступа к этому параметру Bootstrapper. Если вы несколько обновлений, сделайте это после обновления панели.
upcp -b
cpcmd config_set apnscp.update-policy edge


Новые пробные лицензии будут действительны в течение 60 дней в течение 15-дневного переходного льготного периода, после чего новые лицензии будут выдаваться с 30-дневным пробным периодом. Все истекающие лицензии должны быть преобразованы в платную лицензию на портале пользователя my.apnscp.com (Настройки> Лицензии). Конверсионный центр будет открыт не позднее 15 февраля. Вы можете обратиться ко мне напрямую по адресу matt@apisnetworks.com для преобразования лицензии до этого момента.

Лицензии на использование apnscp продаются за 129 долларов США в честь этого выпуска. Обычная розничная цена в последующем составит 249 долл. США на всю жизнь или 10 долл. США в месяц при оплате по мере использования. Зайдите в клиентскую зону my.apnscp.com, чтобы начать.
my.apnscp.com

Для существующих установок apnscp будет обновляться автоматически в течение ночи, если включен apnscp_nightly_update (по умолчанию: да). Если вы отключили автоматическое обновление или у вас много версий, обновите apnscp вручную с помощью:
upcp -b


Важные изменения
  • Поддержка rspamd + SRS. SRS преобразовывает конверт пересылаемой электронной почты в соответствие с сервером пересылки. Устраняет проблемы DKIM / SPF с переадресованными сообщениями
  • Поддержка сканирования на вирусы в Web> Веб-приложения, когда установлен параметр clamav_enabled
  • upcp поддерживает запущенные компоненты, например upcp -b mail / rspamd
  • область конфигурации mod_evasive, cpcmd config_get apache.evasive
  • Функция автоматического обучения путем перетаскивания почты в папку «Спам».
  • Argos поддерживает несколько новых бэкэндов, включая Slack
  • Поддержка переопределения загрузчика (/root/apnscp-vars-runtime.yml), cpcmd config_get apnscp.bootstrapper
  • Липкие работники — apnscpd будет повторно использовать горячий сеанс, если это возможно, чтобы устранить издержки при повторной инициализации

Несмотря на то, что бета-версия была определена как финальная инкрементная версия до финальной версии 3.0, эта версия включает в себя более 450 изменений в польской версии, некоторые из которых заслуживают дальнейшего упоминания.

rspamd
rspamd — самое большое изменение по сравнению с бета-версией. SpamAssassin был предпочтительным методом фильтрации, который с достаточным количеством выборок и глобальной базой данных Байеса работает достаточно хорошо, но фильтрация медленная, интеграция ограничена, и его алгоритм потерял мозги. rspamd использует марковское моделирование для адаптивной фильтрации спама в асинхронном цикле событий. rspamd мягче в памяти, быстрее (в 20-30 раз быстрее), и лучшая его часть: еще лучше. Фильтры почты — это почтовые фильтры, которые напрямую взаимодействуют с MTA, в данном случае с Postfix, и служат привратником для почты как входящей, так и исходящей. rspamd может принимать, отклонять, временно отклонять и изменять заголовки почты во время соединения, а не после того, как сообщение было принято для обработки, тем самым рационализируя драгоценные циклы ЦП.

rspamd — это будущее apnscp. Сейчас он выпущен для раннего тестирования, чтобы начать долгий путь интеграции, который в конечном итоге обеспечит фильтрацию входящего спама в дополнение к ограничению исходящей скорости, фильтрации и подписи DKIM / ARC, чтобы гарантировать, что почта, которая покидает сервер apnscp, является наиболее авторитетной из возможных.

Поддержка загрузчика cpcmd
cpcmd поддерживает переопределения Bootstrapper. Переопределения записываются в /root/apnscp-vars-runtime.yml и могут использоваться для замены любой переменной по умолчанию в любом компоненте Bootstrapper. apnscp автоматически выводит и конвертирует типы.

Почтовое обучение
apnscp теперь поставляется с поддержкой sieve для почтовых ящиков IMAP. Перетащите почту в папку «Спам» и из нее, чтобы настроить сообщения как спам / ветчина соответственно. По умолчанию почта, отправляемая в папку «Спам», автоматически распознается как спам, но это поведение можно быстро изменить, чтобы отслеживать папку «Корзина»

Проверка на вирусы

При включенном ClamAV apnscp будет проверять веб-приложение на наличие подозрительных файлов. По умолчанию он отключен, если has_low_memory включен.

В трубопроводе
Теперь, когда 3.0 выпущен, пришло время ответить на запросы функций, которые будут реализованы в 3.1. Это включает в себя поддержку меток ownCloud, TimescaleDB, PHP-FPM (когда для сайта настроен apache, jail = 1), SNI Dovecot / Postfix через haproxy и блокировку хранилища. Они будут постепенно разворачиваться как часть основной ветки, поэтому, если вы хотите продолжать получать технологию по мере ее выпуска, установите для своей политики обновления значение «edge»

Changelog
hq.apnscp.com/content/images/2019/01/virus-scan-feature.png

apnscp.com

Как мы писали фронтенд собственной панели управления хостингом: фреймворк и бекдоры



В прошлой статье мы рассказывали, как пришли к идее написать собственную панель управления хостингом и об общей структуре готовой панели.

Сегодня наш фронтенд разработчик Артыш расскажет, как писал фронтенд этой панели: какой выбрали фреймворк, какой антипаттерн считаем хорошим тоном и как защищаться от бекдоров, если пользуетесь готовыми библиотеками.

Выбор фреймворка: почему искали новый
Предыдущая панель была реализована на собственном фреймворке, написанном на jQuery. Мы сидели на VMManager, он требовал много доработок: по интерфейсу и функционалу, было тяжело сопровождать такой код. Добавление нового функционала в панель со стороны фронта занимало много времени. Понятно, что при желании и на jQuery можно реализовать хороший фреймворк (я до сих пор люблю jQuery) или даже подобие CMS, но это был не оптимальный вариант: начиная скудной документацией по самописному фреймворку и заканчивая не совсем корректной архитектурой самого приложения.

Старая панель была реализована в виде Single Page Application и на этом его хорошие качества заканчивались. После решения очередной головоломки по добавлению кнопки в список, пришло понимание, что нужна альтернатива. Выбор пал на Vue.

Почему SPA?
Single Page Application — идеальный выбор для панели управления. Панель управления в плане рендеринга довольно простая штука, эту работу можно легко доверить браузеру пользователя. К тому же панели не важна SEO-оптимизация, для этого у нас есть основной сайт. Ну и требуемое время на начальную загрузку всех необходимых скриптов пользователи панели воспринимают спокойно в силу специфики самих этих пользователей. Опять же, бекенд у нас получился классическим RestAPI сервисом — для предоставления в будущем открытого API нашим клиентам.

SPA приложение получилось таким легким, что хорошо работает с браузера телефонов и планшетов — мы просто сделали адаптивную верстку и создавать отдельное приложение не пришлось.

Почему Vue?
3 года назад Vue был относительно молодым фреймворком, но уже тогда о нем много говорили и писали, и когда вышел релиз версии 2.0, мы решили сделать ставку на него — и не прогадали. Сначала планировали просто постепенно заменять какие-то компоненты написанные на jQuery и Vue это позволял делать легко. Но потом, после того, как были переписаны довольно объемные компоненты, все таки решили, что лучше переписать вообще все приложение на Vue.
Это бы рискованный шаг и мы решили его сделать по 4 причинам:
  • Vue — простой декларативный фреймворк, его понимают даже верстальщики. Если что, под него легко найти разработчика или просто научить товарища. А значит у нас не будет проблем с поиском нового разработчика и его вхождением в проект, если меня переедет трамвай (хвала богам, в моем городе их нет).
  • Vue объективно хорош для написания SPA приложений.
  • У меня перед глазами был опыт развития React и я предположил, что популярность Vue будет расти так же. Сейчас фреймворк входит в TOP-3 популярных JS-фреймворков (это легко проверить поисковым запросом), уступая только React и Angular. У него хорошая поддержка, развитая экосистема и большое комьюнити.
  • Скорость разработки. Лично я сразу стал воспринимать Vue как этакий конструктор и разработка на нем идет довольно быстро: если мне нужен, например, компонент выбора даты, скорее всего на Vue он уже существует, свободен в использовании и опробован сообществом. Я просто устанавливаю компонент в проект, пишу тег и все работает. По сути, наша панель состоит на 70-80% из готовых библиотек. Я имею в виду именно использование компонента, а не размер кодовой базы, который можно проверить командой типа: npx intrinsic/loc

При реализации проекта всегда учитываешь его перспективы, особенно перспективы развития. И то, что в экосистеме Vue уже имеются такие инструменты как Weex, Quasar Framework или Nuxt по мне существенно расширяют горизонты развития нашей панели.

На Хабре есть замечательная статья о Vue от его создателя, а я расскажу о некоторых особенностях нашего приложения.

Синхронизация Vuex с сервисом RestAPI
Часть данных глобального хранилища Vuex в нашем приложении синхронизируется с RestAPI путем обыкновенных запросов по соответствующим адресам. Зачем мы так сделали? Ну хотя бы для того, чтобы основные настройки пользователя не были привязаны к конкретному браузеру конкретного устройства. Можно зайти в нашу панель с компьютера жены или из игрового клуба и при этом получить в то же знакомое окружение, что и было у вас на своей родной машине.

Кроме того, когда синхронизация была только с localStorage, некоторые браузеры при обновлениях теряли содержимое localStorage — оно полностью удалялось. Да и в последнее время прослеживается какая то тенденция к ужесточению политики хранения данных пользователей в куках, например функция в WebKit Intelligent Tracking Prevention — не ровен час они доберутся и до localStorage.

Шина событий
Да, мы используем глобальную шину событий. Как и в любом другом крупном приложении с множеством компонентов, рано или поздно возникает необходимость наладить взаимодействие между не связанными между собой компонентами. Даже через глобальное хранилище. Понятно, что если есть связь родитель-потомок, их взаимодействие стандартно организуется через свойства props в одну сторону и методом $emit в другую, ну или через хранилище, как и описано в рекомендациях Vue.

Но в документации описана и возможность использования глобальной шины событий. У нас в проекте куча форм с разными наборами полей и в некоторых случаях (их немного, но все из них принципиальные) нужно как-то по особенному реагировать на изменение значения поля. Хранить в глобальном хранилище значения всех полей каждой формы не имеет смысла:
  • Во-первых, из-за редкой необходимости
  • Во-вторых, все наши формы генерируются динамически и набор полей у любой формы может поменяться кардинально.

Поэтому я решил использовать механизм шины событий. При этом ничто не мешает использовать свой Event emitter — главное использовать этот механизм аккуратно, только для исключительных ситуаций и тщательно все подчищать за собой.

Взаимодействие RestAPI с панелью
Для большей отзывчивости интерфейса в старом jQuery-фреймворке обратная связь от RestAPI к клиентскому приложению эмулировалась через хитрую систему таймеров: она производила опросы RestAPI с определенным интервалом и перерисовывала узлы DOM, которые затронули изменения.

Это не было идеальным решением: во всех современных браузерах таймеры практически полностью замирают, когда вкладка становится неактивной и получает низкий приоритет. Как результат запрос к RestAPI сервису может запоздать и получить уже неактуальные данные.

Для решения этой проблемы в новой панели я решил использовать связку из модуля Nchan для веб сервера Nginx и новых возможностей HTML5-интерфейсов — EventSource и WebWorker.

Модуль Nchan поддерживает отправку сообщений через Websocket, EventSource и Long-Polling. Я провел несколько тестов и решил использовать EventSource: сообщения могут быть только текстовыми и поток сообщений осуществляется только в одну сторону (от сервера). Это полностью решало поставленную задачу.

Сейчас работу интерфейса EventSource осуществляет в отдельном фоновом потоке WebWorker, независимо от активности вкладки. В этом же потоке организована примитивная очередь сообщений, чтобы ничего не потерялось. Очередь отправляется в основной поток приложения, который свою очередь производит необходимые перерисовки интерфейса, когда ему удобно и позволяет браузер.

Бэкдоры: как и зачем я проверяю безопасность компонентов
Перед подключением библиотеки ее обязательно проверить на безопасность: был случай, когда компонент специально внедрили бэкдор, который позволял заходить на сайт и скачивать данные.

Но чаще дыры в безопасности появляются скорее по неаккуратности разработчиков. В маркетах приложений есть команда, которая проверяет компоненты на безопасность, но она не слишком зубастая и библиотеки лучше проверять вручную.

Я всегда проверяю пакеты на наличие хуков preinstall, install и postinstall в поле “scripts” файла “package.json”. Кроме того, использую статические анализаторы пакетов, такие как retire, snyk и команду “audit” пакетного менеджера npm.

Предупреждения безопасности бывают разных уровней, чаще всего при проверке попадаются некритичные. Иногда, чтобы пролечить библиотеку достаточно обновиться — разработчики библиотек сами следят за безопасностью.

Если библиотека однажды себя скомпрометировала, лучше ее заменить — это признак неблагонадежности, поэтому при предупреждениях я выбираю искать другую библиотеку.

После того, как пакет прошел анализ, я обязательно фиксирую его версию. Если нужна другая версия — пакет проходит анализ заново. Да, это занимает время, но оно того стоит.

Пока бэкдоры ни разу не попадали к нам на продакшн.

Много-много комментариев
Как я уже говорил, Vue был выбран за простоту и декларативность. В дополнение к этому я пишу много комментариев, практически к каждой строчке: чтобы в случае чего новый разработчик мог легко войти в проект и чтобы я сам легко возвращался к старым кускам кода.

За что я полюбил новый фронтенд и панель в целом
  • Стало проще поддерживать код
Разработка заняла полгода. Теперь я скорее занимаюсь поддержкой панели, свой код не жмет и не натирает.

Клиенты могут быстро получать то, что запрашивали


Стало быстро и удобно добавлять новые функции, которые появились в бекенде: например, оплату для юридических лиц я добавил за 2 дня, снепшоты — за 1 день.

https://vdsina.ru

Выпущен WISECP v2.0 - интеллектуальная автоматизация веб-решений



Что такое WiseCP?
WiseCP — это современная веб-система автоматизации, которая включает современный интерфейс веб-сайта с панелью управления клиентами и панелью управления администратора. Он был разработан для того, чтобы все индивидуальные и корпоративные организации, работающие в области информационных технологий, могли легко обеспечивать продажи и управление продуктами и услугами, операции выставления счетов и принудительного исполнения, управление клиентами, услуги поддержки и все другие сопутствующие услуги.
wisecp.com

Какие услуги вы можете предложить с WISECP?
  • Веб-хостинг (хостинг, домен, сервер, SSL, лицензии на продукт и т. Д.)
  • Услуги программного обеспечения (продажа и лизинг скриптов, веб-программное обеспечение, программное обеспечение для настольных ПК и т. Д.)
  • Bulk SMS Services (Международные SMS-рассылки)
  • Сервисы социальных сетей (пакеты трекеров, пакеты социальных сетей и т. Д.)
  • Рекламные / рекламные услуги (рекламные и рекламные пакеты услуг, фирменный стиль, логотип и т. Д.)
  • Услуги SEO (пакеты SEO, пакеты обратной ссылки, пакеты рекламных материалов и т. Д.)
  • Любые виды цифровых услуг

Что нового в версии 2.0?
В версии 2.0 имеется множество обновлений, однако ниже мы упомянули только важные обновления.
  • Современная клиентская панель WClient (теперь пользователи могут использовать функцию «Только клиентская панель», а встроенный веб-сайт можно отключить)
  • Усовершенствованная система продвижения (наряду с купоном мы ввели систему продвижения, которая позволяет предлагать бесплатные или платные услуги вместе с услугой. Например, бесплатный домен теперь может предлагаться вместе с хостингом)
  • WAnalytics, встроенная аналитическая функция, которая очень подробно выдает статистику вместе с отслеживанием пользователей в реальном времени.
  • Налогообложение, цены теперь могут быть определены вместе с НДС или без НДС. Это также сделано в соответствии с налоговым законодательством Европейского Союза. Различные налоговые ставки теперь могут быть определены для каждой страны. Налоги также автоматически применяются в зависимости от местоположения пользователя.
  • Поддержка тикетной системы была переработана. Теперь он работает как живой чат. Все происходит в режиме реального времени!
  • Модуль регистратора доменов Namecheap
  • Модуль регистратора доменов Namesilo
  • Новый модуль способа оплаты: Stripe
  • Новый модуль метода оплаты: Skrill
  • Новый модуль метода оплаты: CoinPayments
  • Новый способ оплаты: PerfectMoney
  • Модуль реселлинга SSL: GoGetSSL
  • Модуль реселлинга SSL: Namecheap
  • Модуль реселлинга SSL: ResellerClub
  • Модуль реселлинга SSL: OnlineNIC
  • Модуль перепродажи лицензий на программное обеспечение: BuycPanel
  • Модуль виртуального сервера: Virtualizor
  • Модуль виртуального сервера: AutoVM

Проверьте полный журнал обновлений здесь: www.docs.wisecp.com/en/kb/v2-0

Служба поддержки
Форумы сообщества: community.wisecp.com
Discord: discord.gg/pW3U3uW
Свяжитесь с нашей службой поддержки: my.wisecp.com

WISECP: wisecp.com

Как управлять сервером?



Ранее мы уже писали о выборе панели управления сервером, но получили обратную связь о том, что перечень рассматриваемых нами инструментов недостаточен. Мы исправились :) и подготовили большую обзорную статью по этому вопросу, в которой затронули темы:

Какие бывают панели управления?
  • В чем различия между ними?
  • Какую панель управления сервером выбрать?
  • Обзор самых используемых: ISPmanager, cPanel, Plesk, Webmin, BrainyCP, Vesta, DirectAdmin, Sentora, Ajenti, ISPConfig.
Надеемся статья понравится, а если захочется обсудить эту тему дальше или рассказать о новых классных инструментах, которые еще не получили широкую известность, — приглашаем в наши социальные сети!

rackstore.ru/help/kak-vyibrat-panel-upravleniya.html

Обзор улучшений в мае

Представляем вам главные обновления системы за май:

В личном кабинете показываются уведомления о непрочитанных тикетах.


Сделали функцию изоляции php-скриптов сайтов на панели IHC. При включении данной опции php-скрипты сайта смогут изменять файлы только в своей директории, а также в ~/data и /tmp. Поэтому при взломе изолированного сайта он не сможет заразить другие сайты в том же заказе. Любой неизолированный сайт сможет при взломе заразить все остальные сайты в заказе в том числе изолированные.


Теперь при подключении ssl сайту можно сразу включить автоматическое перенаправление с http на https.


При создании нового заказа можно выбрать продлевать ли его автоматически с баланса и автопополнением с карты. Если автопродление отключено, то продлить можно в любой момент вручную в разделе Тариф.

Если заказу выделены какие-то IP, они показываются на главной личного кабинета. Так проще найти нужный заказ.

При заказе выделенного сервера можно выбрать скорость порта: безлимит на скорости 100М или 30 ТБ в месяц на 1000М.

Немного изменили дизайн блоков на главной странице.

Новые функции панели управления




Уведомления о статусе сервиса
Следите за расписанием плановых работ и различными происшествиями в новом разделе статуса сервиса. Подпишитесь на уведомления и будьте в курсе в случае аварии.
secure.veesp.com/status/


Объединение счетов
Теперь вы можете управлять формированием счетов — укажите, хотите ли вы получать отдельный счет за каждую услугу или только один объединенный счет.
secure.veesp.com/clientarea/settings/


Местный часовой пояс
Укажите ваш часовой пояс в настойках аккаунта, и все временные метки в панели управления будут отображаться в вашем местном времени.
secure.veesp.com/clientarea/settings/